﻿// -------------------------------------------------------------------------
//    @FileName         :    NFPlayerPacketSendUtil.h
//    @Author           :    gaoyi
//    @Date             :    24-8-22
//    @Email            :    445267987@qq.com
//    @Module           :    NFPlayerPacketSendUtil
//
// -------------------------------------------------------------------------

#pragma once

struct BagPage;
class NFPlayer;

class NFPlayerPacketSendUtil
{
public:
    /**
     * @brief 处理获取角色响应的通知
     *
     * 当系统返回角色获取操作的结果时，会调用此函数。该函数主要负责对玩家对象进行非空检查，
     * 并在确认玩家对象有效的情况下，进一步处理角色获取的逻辑。
     *
     * @param pPlayer 指向NFPlayer对象的指针，代表发起角色获取请求的玩家
     * @param pStorage
     * @return 返回操作结果，具体的返回值意义由系统定义
     */
    static int NotifyGetRoleRsp(NFPlayer *pPlayer, BagPage* pStorage);

    /**
     * @brief 处理玩家被踢出的通知
     *
     * 当玩家由于某些原因（如违规行为、服务器维护等）被系统踢出时，会调用此函数。它负责通知玩家被踢出的原因，
     * 并执行必要的清理或记录操作。此函数允许系统以可配置的方式处理被踢玩家，提供了被踢原因的整型标识和可选的详细说明。
     *
     * @param pPlayer 指向NFPlayer对象的指针，代表被踢出的玩家
     * @param iReason 整型值，表示玩家被踢出的原因代码
     * @param reasonStr 可选的字符串指针，提供玩家被踢出的详细原因说明，默认为空字符串
     * @return 返回操作结果，具体的返回值意义由系统定义
     */
    static int NotifyKickOff(NFPlayer *pPlayer, int iReason, const char *reasonStr = "");

};
